package com.telit.dispose.service.dispose;


import com.telit.dispose.entity.dispose.PlatMetaFieldEntity;

import java.util.List;


/**
 * 元数据-字段业务逻辑接口
 * Create by Chencf 2022/08/05
 */
public interface PlatMetaFieldService {

    /**
     * 添加
     *
     * @param entity 实体
     *
     * @return Boolean
     */
    boolean addPlatMetaField(PlatMetaFieldEntity entity);

    /**
     * 创建物理字段
     *
     * @param id 字段编号
     *
     * @return Boolean
     */
    boolean createPlatMetaField(String id);

    /**
     * 修改
     *
     * @param entity 实体
     *
     * @return Boolean
     */
    boolean updatePlatMetaFieldById(PlatMetaFieldEntity entity);

    /**
     * 删除
     *
     * @param id 实体编号
     *
     * @return Boolean
     */
    boolean deletePlatMetaFieldById(String id);

    /**
     * 获取指定编号的记录
     *
     * @param id 编号
     *
     * @return PlatMetaFieldEntity
     */
    PlatMetaFieldEntity getPlatMetaFieldById(String id);

    /**
     * 根据表ID获取全部字段
     *
     * @param tableId
     *
     * @return
     */
    List<PlatMetaFieldEntity> getPlatMetaFieldListByTableId(String tableId);

    /**
     * 根据表ID逻辑删除全部字段记录
     *
     * @param tableId
     *
     * @return
     */
    boolean deletePlatMetaFieldByTableId(String tableId);

    /**
     * 检查表id下字段是否存在
     *
     * @param field
     * @param tableId
     *
     * @return
     */
    boolean checkPlatMetaFieldExists(PlatMetaFieldEntity field, String tableId);

}